package main

import (
	"math"
	"errors"
	"fmt"
)

/*
√ 半径如果不在取值范围内，温和地返回【结果-错误对】
*/

/*求玩具球的体积*/
func GetToyBallVolumn2(radius float64) (volumn float64,err error) {
	if radius < 0{
		panic("半径不能为负数！")
	}

	//半径如果不在取值范围[5,50]内，温和地返回错误
	if radius < 5 || radius > 50{
		err = errors.New("合法的半径范围是[5,50]")
		return
	}

	return (4 / 3.0) * math.Pi * math.Pow(radius, 3),nil
}

func main() {
	//volumn, err := GetToyBallVolumn2(10)
	volumn, err := GetToyBallVolumn2(0.5)
	if err != nil{
		fmt.Println("获取体积失败，err=",err)
	}else{
		fmt.Println("小球的体积是",volumn)
	}

}
